import axios from 'axios';

// 设置全局默认头
axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8';

// 创建axios实例
const service = axios.create({
  baseURL: process.env.VUE_APP_BASE_API, // 公共请求URL
  timeout: 10000 // 请求超时设置
});

// 请求拦截器
service.interceptors.request.use(
    (config) => {
      const token = localStorage.getItem('token'); // 获取 JWT 令牌
      if (token) {
        config.headers.Authorization = `Bearer ${token}`;
      }
      return config; // 返回修改后的配置
    },
    (error) => {
      return Promise.reject(error); // 返回错误
    }
);

// 响应拦截器
service.interceptors.response.use(
    (response) => {
      return response.data; // 直接返回数据，便于后续处理
    },
    (error) => {
      // 更详细的错误处理
      console.error('API Error:', error.response ? error.response.data : error.message);
      return Promise.reject(error); // 返回错误
    }
);

export default service;
